Write Petition Script
Created by Tazco. Using "RC_Core.rcm" ; By Naddaz on TAZCO Function Main() ;Makes a petition and sends player input to a text file. ;Makes a petition list that will name evey player that has maked a petition. ;Will only add players name once to the list. ;Gm`s the right gm rank will be able to check read and delete petitions. Only ranks can only read. Player = Actor() Target = ContextActor() PName$ = Name(Player) ChatBox$ = OpenDialog(Player, Target, "Petition") DialogOutPut(Player, ChatBox, "Would you like to make a petition that a gm could look at later?.", 230, 145, 23) PetOption% = DialogInPut(Player, ChatBox, "Yes,No") If (PetOption = 1) ;Start the petition making CloseDialog(Player, ChatBox) ChatBox$ = OpenDialog(Player, Target, "Petition") PetFile$ = OpenFile(+ PName + "s petition.txt") If (PetFile = 0) ;player has a petiton opened already ;do nothing since this file will be made later. Else CloseDialog(Player, ChatBox) ChatBox$ = OpenDialog(Player, Target, "Petition") DialogOutPut(Player, ChatBox, "You already have a open petition, please wait for an answer before making a new one.", 230, 145, 23) DialogInput(Player, ChatBox, "Close") CloseDialog(Player, ChatBox) CloseFile(PetFile) Return Endif CloseFile(PetFile) DialogOutPut(Player, ChatBox, "Type your petition and a gm will get back to you shortly.", 230, 145, 23) PetEnter$ = Input(Player, "Enter text for petition.", "", 4) CloseDialog(Player, ChatBox) ChatBox$ = OpenDialog(Player, Target, "Petition") DialogOutPut(Player, ChatBox, "You have entered this for your petition " + PetEnter, 230, 134, 23) PetList$ = OpenFile("Petition List.txt") If (PetList = 0) ;If there is no petition list make one. PetitonList$ = WriteFile("Petition List.txt") CloseFile(PetList) ;close opened petition file CloseFile(PetitonList) PetList$ = OpenFile("Petition List.txt") Endif ;Check if player name is already in the list, if so then don`t add it. EndRepeat% = 10 ;NOTE:have repeat commented since it seems to work with out it, also ;if you manuly updated the text file it could through the count off since it counts empty spaces. Repeat EndRepeat = Eof(PetList) NameinFile$ = ReadLine(PetList) If (NameinFile = Name(Player)) ;players name is in the list end repeat and close file. NameMatch% = 5 Eof(PetList) CloseFile(NameinFile) Endif Doevents(1) Until (EndRepeat = 0) If (NameMatch = 5) ;player has name in the list don`t added it again ;Close file since player is in list already. CloseFile(PetList) Else ;players name is not in the list, add it to the list. SeekFile(PetList, FileSize("Petition List.txt")) WriteLine(PetList, Name(Player)) CloseFile(PetList) ;Close Opened file above Endif PetFile$ = OpenFile(+ PName + "s petition.txt") If (PetFile = 0) ;Make a new file if there is not one already. PetFile$ = OpenFile(+ PName + "s petition.txt") PPetFile$ = WriteFile(+ PName + "s petition.txt") DoEvents(500) ;wait 1 sec then close files CloseFile(PetFile) ;close opened petition file CloseFile(PPetFile) ;close new petition file Endif CloseFile(PetFile) ;close opened petition file POption$ = DialogInput(Player, ChatBox, "Done") If (POption = 1) ;Write to file and end. PetFile$ = OpenFile(+ PName + "s petition.txt") SeekFile(PetFile, FileSize(+ PName + "s petition.txt")) WriteLine(PetFile, PetEnter) ;Write player input to a file. DoEvents(500) CloseFile(PetFile) ;close opened petition file CloseDialog(Player, ChatBox) Return Endif DoEvents(1400) CloseDialog(Player, ChatBox) ElseIf (PetOption = 2) ;Close petition maker DoEvents(500) CloseDialog(Player, ChatBox) Return EndIf End Function